package com.sinosoft.sm.system.resource.dao;

import java.util.List;





import org.apache.ibatis.annotations.Param;

import com.sinosoft.sm.system.resource.entity.ResourceEntity;
import com.sinosoft.sm.system.resource.entity.ResourceRoleRefEntity;

/**
 * 资源信息管理持久化接口定义
 * @author leichao
 */
public interface ResourceEntityMapper {

	/**
	 * 新增资源信息
	 * @param resourceEntity	资源信息
	 */
	public void addResource(ResourceEntity resourceEntity);
	
	/**
	 * 根据资源编号删除资源
	 * @param id	资源编号集合
	 */
	public void deleteResources(List<String> id);
	
	/**
	 * 根据应用编号删除资源
	 * @param id	资源编号集合
	 */
	public void deleteResourcesById(String id);
	
	/**
	 * 根据资源编号获取资源信息
	 * @param id	资源编号
	 * @return	资源信息
	 */
	public ResourceEntity getResourceById(String id);
	
	/**
	 * 根据父节点编号获取资源集合
	 * @param pid	父节点编号
	 * @return	资源集合
	 */
	public List<ResourceEntity> getResourcesByPid(String pid);
	
	/**
	 * 更新资源信息
	 * @param resourceEntity	资源信息
	 */
	public void updateResource(ResourceEntity resourceEntity);

	/**
	 * 根据角色id获取资源信息
	 * @param roleIds
	 * @return
	 */
	public List<ResourceEntity> getPermissionsByRoles(@Param("roleids")String[] roleids);

	/**
	 * 根据角色id获取相应的资源信
	 * @param roleId
	 * @return
	 */
	public List<ResourceEntity> getResourceByRoleId(String roleid);
	
	
}
